package com.itheima.demo2;

import java.util.*;

public class Demo2 {
    /*
    请使用TreeMap集合保存劳模信息,要求以劳模对象为键,家庭住址为值,并按照劳模的年龄从大到小排序后输出;

信息如下:
18岁的张三,北京
20岁的李四,上海
35岁的王五,天津
21岁的赵六,北京
19岁的田七,上海
     */
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        //创建集合
        Map<User,String> map=new TreeMap<>();
        map.put(new User("张三",18),"北京");
        map.put(new User("李四",20),"上海");
        map.put(new User("王五",35),"天津");
        map.put(new User("赵六",21),"北京");
        map.put(new User("田七",19),"上海");
        /*
        **要求:**
1、劳模类中有姓名和年龄两个属性
2、添加上述信息后,使用代码删除张三的信息
3、添加上述信息后,使用代码修改李四的家庭住址为郑州
4、使用至少两种方式遍历集合中的信息并输出
         */
        //第一种遍历方式
        System.out.println("----第一种遍历方式----");
        Set<Map.Entry<User, String>> entries = map.entrySet();
        for (Map.Entry<User, String> userStringEntry : entries) {
            User user=userStringEntry.getKey();
            String value = userStringEntry.getValue();

            System.out.println(user.toString()+"/////-->"+value);
        }
        //第二种遍历方式
        System.out.println("----第二种遍历方式----");
        for (User user : map.keySet()) {
            String s = map.get(user);
            System.out.println(user.toString()+"******>"+s);
        }


        /*
        添加上述信息后,使用代码删除张三的信息
3、添加上述信息后,使用代码修改李四的家庭住址为郑州
         */
        System.out.println("请输入将要删除用户信息的用户名");
        map.remove(check(map));
        System.out.println("请输入修改地址的用户名");
        map.put(check(map),scanner.next());

        //第三种遍历方式
        System.out.println("----第三种遍历方式----");
        map.forEach((key,values)->{
            System.out.println(key+"---->"+values);
        });
    }

    public static User check( Map<User,String> map){
        System.out.println("请输入修改对象的名字");
        Scanner scanner=new Scanner(System.in);
        for (User user : map.keySet()) {
            if (user.getName().equals(scanner.next())){

                return user;
            }

    }
        return null;
    }


}
